草庐IT

c++ - 集成 Lua 以在我的游戏引擎中构建我的 GameEntities?

全部标签

Ruby 沙盒与集成脚本语言

我目前正在使用Ruby开发基于文本的游戏引擎,应用程序分为/lib中的Ruby代码和/data中的YAML数据,游戏需要时加载。我想让数据文件包含基本脚本,主要是在事件/观察者模型中。但是,我也希望用户能够生成和共享自定义场景,而不必担心脚本中嵌入了恶意代码。附录:我最初的计划是将用户创建的内容分为两种类型,“模块”是仅数据(因此安全)和添加额外功能的插件(但显然是不安全)。类比桌面游戏,模块就像发布的冒险场景和内容,插件就像包含额外规则和系统的规则手册。示例脚本(语法当然会根据解决方案而改变):---Location:observers:on_door_open:|monster=s

Ruby 和规则引擎

我正在寻找一种让用户定义一组规则来过滤对象的简单方法。例如。让他们定义类似“如果预订日期100.00则通知我预订”或多或少:我想要一个带有自定义DSL的Ruby规则引擎。有图书馆提供吗?遇到Ruleby,但它还不支持自定义DSL。最好的方法是什么? 最佳答案 看看wongi-enginegem是一个基于Rete算法的新规则引擎,最近引起了相当多的关注。 关于Ruby和规则引擎,我们在StackOverflow上找到一个类似的问题: https://stacko

ruby - Rake 不知道如何构建任务 : default or minitest

我不久前构建了一个gem,但没有包含任何测试(我感到羞耻)。从那以后,我一直试图通过包括minitest来解决这个问题,但是我因为以下错误而被困在门外:Don'tknowhowtobuildtask'default'这是我的Rakefilerequire'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']end和test/unit_test.rb中的虚拟文件require'minitest/autorun'classTestPackage如果我更改Rakefile以包含task:def

ruby - 在 Ruby 中构建字符串的最快方法是什么?

在Ternaryoperator,一个人想加入["foo","bar","baz"]用逗号和“和”引用TheRubyCookbook如说Ifefficiencyisimportanttoyou,don'tbuildanewstringwhenyoucanappenditemsontoanexistingstring.[Andsoon]...Usestr但这本书是2006年写的。在所有主要的Ruby实现中,使用追加(即)仍然是在给定较小字符串数组的情况下构建大字符串的最快方法吗? 最佳答案 可以时使用Array#join,不能时使用S

ruby - 构建后 Gem 中缺少文件

长话短说:不要在现有的git存储库中运行bundle。奇怪的事情会在没有任何错误消息的情况下发生。原始问题:我通过调整本教程中的步骤构建了一个gem:http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/作为最后一步,我运行了gembuild.gemspec这成功了,但是当我安装gem时,我发现包含我的代码的关键文件不在gem中。同一(lib)目录中的另一个文件“version.rb”确实存在于gem中。我不知道如何开始调试...bundler/gembuild如何决定将哪些文件包含在gem中?编辑:我的工作流

ruby - 如何在我的 Ruby gem 中正确登录?

目前我正在使用puts,但我确定这不是正确的答案。如何在我的gem中正确设置记录器以输出我的内部日志记录而不是puts? 最佳答案 对于您的gem用户来说,最灵活的方法是让他们提供一个记录器,而不是在gem中设置它。这可能是最简单的classMyGemclass然后您使用MyGem.logger.info"hello"记录来自您的gem的消息(您可能希望将其包装在一个实用程序方法中以测试是否设置了记录器)然后,您的gem用户可以控制消息记录到的位置(文件、系统日志、标准输出等...) 关

ruby-on-rails - Rails 引擎扩展功能

我有一个引擎,它定义了一些模型和Controller。我希望能够在我的应用程序中扩展某些模型/Controller的功能(例如,添加方法)而不丢失引擎的原始模型/Controller功能。我到处都读到你只需要在你的应用程序中定义具有相同名称的Controller,Rails会自动合并它们,但是它对我不起作用并且引擎中的Controller被简单地忽略(我认为它甚至没有加载)。 最佳答案 requireMyEngine::Engine.root.join('app','models','my_engine','my_model')在您

ruby - 什么是 Rack ?我可以使用它通过 Ruby 构建 Web 应用程序吗?

ruby新手警告!(嘿,押韵:))我已经阅读了官方定义,但还是空手而归。他们所说的中间件到底是什么?目的是使用带https的ruby​​吗?patnaik博客上的小教程让事情变得更清晰,但我如何在本地主机上使用它做一些事情?我安装了ruby​​1.9.2以及rackgem和mongrel服务器。我应该先启动mongrel吗?怎么办? 最佳答案 只是添加对Rack的简单解释(因为我觉得缺少):Rack基本上是网络应用程序与网络服务器通信的一种方式。通信是这样的:Web服务器将环境告知应用程序-这主要包含用户作为请求发送的内容-url、

ruby - FactoryBot 构建具有特征的对象列表

我在测试中使用factory_bot创建对象,这里是我的工厂示例:factory:userdoname"John"surname"Doe"trait:with_photodoignoredophoto_count1endafter(:create)do|user,evaluator|FactoryBot.create_list(:photo,evaluator.photo_count)endendend所以我可以用这样的照片创建一个用户:FactoryBot.create(:user,:with_photo)或者没有照片:FactoryBot.create(:user)或者创建一个用户

ruby-on-rails - 为什么我不能在我的 Mac 上安装任何 gem?

我尝试为几乎任何gem执行geminstall,但我一直遇到错误。我想我需要重置和/或更新计算机上的某些内容,但不确定是什么。以下是一些命令行代码错误:ERROR:Couldnotfindavalidgem'multi_json'(>=0),hereiswhy:Unabletodownloaddatafromhttps://rubygems.org/-SSL_connectreturned=1errno=0state=SSLv3readservercertificateB:certificateverifyfailed(https://s3.amazonaws.com/producti